//
// Created by Scave on 2025/8/28.
//

#ifndef RIDER3D_UPDATEBROADCASTSYSTEM_H
#define RIDER3D_UPDATEBROADCASTSYSTEM_H

#include "Define.h"
#include "entityx/System.h"
#include "entityx/Event.h"
#include "event/SceneEvent.h"

NS_RIDER_BEGIN

    class UpdateBroadcastSystem : public System<UpdateBroadcastSystem>, public Receiver<UpdateBroadcastSystem> {
    public:
        void configure(EntityManager &entities, EventManager &events) override;

        void update(EntityManager &entities, EventManager &events, TimeDelta dt) override;

        void receive(const SceneUpdatedEvent& event);
    };

NS_RIDER_END

#endif //RIDER3D_UPDATEBROADCASTSYSTEM_H
